/*
 * @Description: 基于axios全局注册http，基础配置
 * @Author: yihui
 * @Date: 2019-07-26 14:56:25
 * @LastEditors: yihui
 * @LastEditTime: 2019-10-14 16:43:37
 */
import axios from 'axios';


// 创建axios实例
const http = axios.create({
  timeout: 5000, // 请求超时时间
});

// http.withCredentials = false;
http.defaults.withCredentials = false;
// request拦截器
http.interceptors.request.use(
  (config) => {
    // config.headers['X-From'] = 'develop';
    return config;
  },
  (error) => {
    console.error(error); // for debug
    return Promise.reject(error);
  }
);

// respone拦截器
http.interceptors.response.use(
  (response) => {
    let errorCode = response.data.errorCode;
    // 如果没有errorCode，表明不是统一接口，需对返回数据做单独处理
    if (errorCode === undefined) {
      // 直接将返回数据抛出，到具体调用回调中处理
      return response;
    }
    // if (errorCode !== 1) {
    //   if (errorCode == 2) {
    //     // 特殊的错误 返回所有数据
    //     return Promise.reject(response.data);
    //   } else {
    //     return Promise.reject(response.data.errorMessage);
    //   }
    // }
    return response.data.data;
  },
  (error) => {
    console.error('请求失败响应: ' + error); // for debug
    return Promise.reject(error);
  }
);

export default http;
